#ifndef OVERLAYWIDGET_H
#define OVERLAYWIDGET_H
#include <QOpenGLWidget>
#include <QVector>
#include <QPainterPath>
#include <QPen>
#include <QTimer>
#include <QTimerEvent>
#include <QElapsedTimer>

// 双缓存绘图
class RemoteCallThread;
class OverlayWidget : public QOpenGLWidget {
    Q_OBJECT
public:
    explicit OverlayWidget(QWidget* parent = nullptr);
    ~OverlayWidget();

protected:
    void initializeGL() override;
    void paintGL() override;
    void resizeGL(int w, int h) override;
    // 事件重写
    void keyReleaseEvent(QKeyEvent* event) override;
    void AimMove(int x_off, int y_off, float &s);
private:
    void updateContent(); // 内容更新函数
    QTimer m_refreshTimer,  test_time;
    // 帧率
    void updateFPS(); // 新增帧率计算函数
    QElapsedTimer m_fpsTimer;   // 新增帧率计时器
    int m_frameCount = 0;        // 帧计数器
    float m_currentFPS = 0.0f;   // 当前帧率值
    QString connect_text;
    QFont font;
    // 线程remoteCall
    RemoteCallThread *m_thread;

    QPoint m_rightClickPos; // 右键点击位置
    // ================== 自瞄设置变量 ==================
    struct AimSettings {
        float smoothness = 8.0f;   // 平滑系数
        int maxDistance = 120; // 最大自瞄距离（像素）
        int autoClickInterval = 100; // 自动点击间隔（ms）
    } m_aimSettings;
};

#endif // OVERLAYWIDGET_H
